<?php
/**
 * OutputFile 클래스 
 * 
 * @package php.util 
 */


/**
 * 출력물의 포맷을 정해주는 메소드 모음입니다. 
 *
 * @package php.util
 */
class OutputFile {

	/**
	 * 엑셀파일 다운로드 
	 * 
	 * @param string $filename 저장할 파일이름  (실제 파일은 $filename.xls)
	 * @param string $charset 인코딩 타입 
	 */
	public static function excel($filename, $charset = "EUC-KR") {
		header( "Content-type: application/vnd.ms-excel" ); 
		header( "Content-Disposition: attachment; filename=$filename.xls" ); 
		header( "Content-charset={$charset}" ); 
	}

	/**
	 * 워드파일 다운로드 
	 * 
	 * @param string $filename 저장할 파일이름  (실제 파일은 $filename.doc)
	 * @param string $charset 인코딩 타입 
	 */
	public static function word($filename, $charset = "EUC-KR") {
		header( "Content-type: application/vnd.ms-word" ); 
		header( "Content-Disposition: attachment; filename=$filename.doc" ); 
		header( "Content-charset={$charset}" ); 
	}

	/**
	 * 파일 다운로드 
	 * 
	 * @param string $filename 저장할 파일이름  
	 * @param string $filesize 파일 사이즈 
	 * @param string $charset 인코딩 타입 
	 */
	public static function file($filename, $filesize, $charset = "EUC-KR") { 
		if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0|MSIE 7.0)", $_SERVER['HTTP_USER_AGENT'])){
			header("Content-Type: doesn/matter");
			Header("Content-Length: ".$filesize);
			header("Content-Disposition: filename=$filename");
			header("Content-Transfer-Encoding: binary");
			header("Pragma: no-cache");
			header("Expires: 0");
		} else {
			Header("Content-type: file/unknown");
			Header("Content-Disposition: attachment; filename=$filename");
			Header("Content-Transfer-Encoding: binary");
			Header("Content-Length: ".$filesize);
			Header("Content-Description: PHP5 Generated Data");
			header("Pragma: no-cache");
			header("Expires: 0");
		}

	}
}

?>